// 路由的配置
// 1、下载 npm i vue-router
// 2、引入
import VueRouter from "vue-router";
import Vue from "vue";
// 3、注册全局组件
Vue.use(VueRouter)
// 4、定义路由规则
const routes = [
    {
        path: "/",
        redirect: "/login" // 重定向到登录页面
    },
    {
        path: "/login",
        component: ()=>import("../views/login.vue")
    },{
        path: "/register",
        component: ()=>import("../views/register.vue")
    },
    {
        path: "/personal",
        // @ 表示src目录的别名
        component:()=>import("@/views/personal.vue")
    },
    {
        path: "/edit_profile",
        component: ()=>import("@/views/edit_profile.vue")
    },
    {
        path: "/index",
        component: ()=>import("@/views/index.vue"),
        meta: { // 路由元信息，作用：保存数据
            // 因为进入首页是要展示“头条”内容的，但是当用户没有登录的时候
            // 栏目列表没有返回“关注”栏目，当登录之后有返回“关注”栏目，因此
            // “头条”栏目的下标值是动态变化的，有登录“头条”对应的下标值为1，否则为0
            curIndex: localStorage.getItem("hm-token-71")?1:0
        }
    },{
        path: "/articleDetail",
        component: ()=>import("@/views/articleDetail.vue")
    },{
        path: "/comment",
        component: ()=>import("@/views/comment.vue")
    },{
        path: "/search",
        component:()=>import("@/views/search.vue")
    },{
        path: "/category",
        component: ()=>import("@/views/category.vue")
    }
]
// 5、用规则生成路由对象
const router = new VueRouter({
    routes: routes
})

// 解决重复跳转同一个路由地址报错问题
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => err)
}

// 6、导出router
export default router